Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Розроблення багатопоточної Windows Forms програми для реалізації алгоритму шифрування RSA

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Розрахунково - графічна робота
Предмет:
Операційні системи телекомунікаційних мереж
Варіант:
57 а

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" / Звіт до Графічно - розрахункової роботи на тему: ” Розроблення багатопоточної Windows Forms програми для реалізації алгоритму шифрування RSA” з курсу: “Операційні системи” Варіант 57 Прийняв: Павельчак А.Г. Львів – 2013 Мета роботи: Вивчити принцип функціонування асиметричних криптосистем з відкритими ключами на прикладі RSA, дослідити числові алгоритми, що використовуються у криптографії та реалізувати алгоритмічною мовою С++ алгоритм шифрування RSA. Завдання 1. Мовою С# розробити окремий клас реалізації алгоритму з відкритим ключем RSA та побудувати Windows Forms програму (рис. 1) для генерування ключів RSA та шифрування/дешифру-вання файлів. Функціонування програми умовно розбити на дві частини: Система RSA – передбачає генерування закритого/відкри-того ключів, шифрування відкритим ключем вибраного в діалого-вому вікні файла, дешифруваня файла, згідно закритого ключа; Злом RSA – передбачає підбір (відновлення) закритого ключа згідно відкритого ключа простим методом перебору та дешиф-рування вказаного файла. 2. Усю функціональну роботу (генерування ключів, шифрування та дешифрування файлів) виконувати в окремих потоках. При виконанні роботи у вторинному потоці передбачати блокування кнопок виклику ( button1.Enabled = false; ) та розблокуван-ня їх після закінчення. По завершенню шифрування чи роз-шифрування файла виводити відповідне інформаційне вікно ( MessageBox.Show ("Шифрування завершено"); ). / Теоретична частина Бінарний алгоритм Евкліда. Для комп’ютерів операції множення та додавання є набагато простішими, аніж операції ділення та обчислення залишку. Тому звичайна реалізація алгоритму Евкліда є не зовсім ефективною. При обчисленнях НСД можна використати ряд таких еквівалентних перетворень НСД (,) =. (2.26) Зазначимо, що ділення на 2 є простою операцією, оскільки вона рівносильна простому зсуву розрядів у двійковій системі числення. Саме ця властивість і використовується у бінарному алгоритмі. Бінарний алгоритм Евкліда обчислення НСД (,) для  Код програми: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; using System.Threading; namespace Олег { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public ulong NSD(ulong a, ulong b) { ulong nsd; ulong g = 1; // якщо a та b парні числа відокремлення степеню двійки з НСД while (a % 2 == 0 && b % 2 == 0) { a = a / 2; b = b / 2; g = 2 * g; } // тепер a чи b непарне число while (a != 0) { while (a % 2 == 0) a = a / 2; while (b % 2 == 0) b = b / 2; //тепер обидва числа a та b непарні if (a >= b) a = (a - b) / 2; else b = (b - a) / 2; } nsd =g * b; return nsd; } public ulong StepMOD(ulong a, int x, ulong n) { int w = 3; int worker, n_x; int base1 = 1; // основа системи числення для вікна w for (int i = 0; i < w; i++) base1 *= 2; ulong[] A = new ulong[base1]; A[0] = 1; // обчислення таблиці значень for (int i = 1; i < base1; i++) A[i] = (A[i - 1] * a) % n; // визначення к-сті розрядів числа x за основою base worker = x; n_x = 1; while (worker > base1 - 1) { worker = worker / base1; n_x++; } // перевід з 10 системи числення у систему з основою base int[] x_base = new int[n_x]; for (int i = 0; i < n_x; i++) { x_base[i] = x % ba...
Антиботан аватар за замовчуванням

29.06.2013 00:06

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини